package org.afs.gescol.core.dao.interfaces;

import java.util.List;

import org.afs.gescol.core.dto.time.YearSplitCriteriaDto;
import org.afs.gescol.core.model.params.Durations;
import org.afs.gescol.core.model.params.HourlyTime;
import org.afs.gescol.core.model.params.YearSplit;

/**
 * Dao interface for global params.
 * @autor Kobla GBENYO (kobla.gbenyo@gmail.com)
 */
public interface GlobalParamsDao {

    /**
     * Get Year Split by criteria.
     * @param criteria the criteria
     * @return YearSplit list
     */
    List<YearSplit> getYearSplitByCriteria(YearSplitCriteriaDto criteria);

    /**
     * Get durations by cycle.
     * @param cycleId the cycle ID
     * @return the Durations
     */
    Durations getDurationsByCycle(Long cycleId);

    /**
     * Get a list of Hourly time by cycle.
     * @param cycleId the cycle ID
     * @return the list of Hourly Time
     */
    List<HourlyTime> getHourlyTime(Long cycleId);
}
